using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WC3Game
{
    public class Heroes
    {
        Dictionary<String, String> heroCodes = new Dictionary<String, String>();

        public Dictionary<String, String> HeroCodes
        {
            get { return heroCodes; }
            set { heroCodes = value; }
        }

        public Heroes()
        {
            heroCodes.Add("Harf", "Omniknight");
            heroCodes.Add("Huth", "Ursa Warrior");
            heroCodes.Add("Hjai", "Crystal Maiden");
            heroCodes.Add("Hmbr", "Lord of Olympia");
            heroCodes.Add("Hvwd", "Vengeful Spirit");
            heroCodes.Add("Hvsh", "Bloodseeker");
            heroCodes.Add("Hlgr", "Dragon Knight");
            heroCodes.Add("Ogrh", "Phantom Lancer");
            heroCodes.Add("Opgh", "Axe");
            heroCodes.Add("Orkn", "Shadow Shaman");
            heroCodes.Add("Uktl", "Enigma");
            heroCodes.Add("Ubal", "Nerubian Weaver");
            heroCodes.Add("Usyl", "Dwarven Sniper");
            heroCodes.Add("Emns", "Prophet");
            heroCodes.Add("Eevi", "Soul Keeper");
            heroCodes.Add("Eevm", "Soul Keeper");
            heroCodes.Add("Nbbc", "Juggernaut");
            heroCodes.Add("Naka", "Bounty Hunter");
            heroCodes.Add("EC57", "Venomancer");
            heroCodes.Add("N017", "Troll Warlord");
            heroCodes.Add("NC00", "Skeleton King");
            heroCodes.Add("UC18", "Demon Witch");
            heroCodes.Add("N016", "Troll Warlord");
            heroCodes.Add("H00K", "Goblin Techies");
            heroCodes.Add("HC49", "Naga Siren");
            heroCodes.Add("HC92", "Stealth Assassin");
            heroCodes.Add("H000", "Centaur Warchief");
            heroCodes.Add("O00P", "Morphling");
            heroCodes.Add("UC11", "Magnataur");
            heroCodes.Add("UC60", "Necro'lic");
            heroCodes.Add("E015", "Lycanthrope");
            heroCodes.Add("H00H", "Oblivion");
            heroCodes.Add("UC76", "Death Prophet");
            heroCodes.Add("E005", "Moon Rider");
            heroCodes.Add("H001", "Rogue Knight");
            heroCodes.Add("H00V", "Gorgon");
            heroCodes.Add("N01A", "Silencer");
            heroCodes.Add("H004", "Slayer");
            heroCodes.Add("H00A", "Holy Knight");
            heroCodes.Add("H00D", "Beastmaster");
            heroCodes.Add("U00P", "Obsidian Destroyer");
            heroCodes.Add("N01W", "Shadow Priest");
            heroCodes.Add("N02B", "Troll Warlord");
            heroCodes.Add("H00S", "Storm Spirit");
            heroCodes.Add("H00T", "Clockwerk Goblin");
            heroCodes.Add("H06S", "Admiral");
            heroCodes.Add("H071", "Murloc Nightcrawler");
            heroCodes.Add("Hblm", "Keeper of the Light");
            heroCodes.Add("Hamg", "Treant Protector");
            heroCodes.Add("Hmkg", "Ogre Magi");
            heroCodes.Add("H00E", "Dragon Knight");
            heroCodes.Add("H00G", "Dragon Knight");
            heroCodes.Add("H00F", "Dragon Knight");
            heroCodes.Add("H008", "Bristleback");
            heroCodes.Add("H00I", "Geomancer");
            heroCodes.Add("H00J", "Geomancer");
            heroCodes.Add("H00M", "Bloodrune");
            heroCodes.Add("H00N", "Dark Seer");
            heroCodes.Add("H00Q", "Sacred Warrior");
            heroCodes.Add("H00R", "Undying");
            heroCodes.Add("H00U", "Invoker");
            heroCodes.Add("H00Y", "Preloader Hero");
            heroCodes.Add("H06W", "Keeper of the Light");
            heroCodes.Add("H06X", "Keeper of the Light");
            heroCodes.Add("H06Y", "Keeper of the Light");
            heroCodes.Add("H07G", "Storm Spirit");
            heroCodes.Add("H07I", "Flesh Golem");
            heroCodes.Add("Nbrn", "Drow Ranger");
            heroCodes.Add("Nfir", "Shadow Fiend");
            heroCodes.Add("N01O", "Lone Druid");
            heroCodes.Add("N013", "Lone Druid");
            heroCodes.Add("N014", "Lone Druid");
            heroCodes.Add("N015", "Lone Druid");
            heroCodes.Add("N01V", "Priestess of the Moon");
            heroCodes.Add("N00B", "Faerie Dragon");
            heroCodes.Add("N0EG", "Windrunner");
            heroCodes.Add("N0EI", "Windrunner");
            heroCodes.Add("N0EJ", "Windrunner");
            heroCodes.Add("N0EK", "Windrunner");
            heroCodes.Add("N0EM", "Windrunner");
            heroCodes.Add("Edem", "Anti-Mage");
            heroCodes.Add("Ekee", "Tormented Soul");
            heroCodes.Add("Emoo", "Enchantress");
            heroCodes.Add("Ewar", "Phantom Assassin");
            heroCodes.Add("EC77", "Netherdrake");
            heroCodes.Add("EC45", "Faceless Void");
            heroCodes.Add("E002", "Lightning Revenant");
            heroCodes.Add("E004", "Bone Fletcher");
            heroCodes.Add("E01A", "Witch Doctor");
            heroCodes.Add("E01B", "Spectre");
            heroCodes.Add("E00P", "Twin Head Dragon");
            heroCodes.Add("E01C", "Warlock");
            heroCodes.Add("E01Y", "Templar Assassin");
            heroCodes.Add("E01P", "Dummy: SlowTurn-Range");
            heroCodes.Add("E021", "Dummy: FastTurn-Melee");
            heroCodes.Add("E023", "Dummy: SlowTurn-Melee");
            heroCodes.Add("E024", "Dummy: FastTurn-Range");
            heroCodes.Add("Ofar", "Tidehunter");
            heroCodes.Add("Oshd", "Bane Elemental");
            heroCodes.Add("O00J", "Spiritbreaker");
            heroCodes.Add("Ucrl", "Stone Giant");
            heroCodes.Add("Udea", "Lord of Avernus");
            heroCodes.Add("Udre", "Night Stalker");
            heroCodes.Add("U00K", "Sand King");
            heroCodes.Add("UC42", "Doom Bringer");
            heroCodes.Add("U006", "Broodmother");
            heroCodes.Add("U007", "Lifestealer");
            heroCodes.Add("UC01", "Queen of Pain");
            heroCodes.Add("U008", "Lycanthrope");
            heroCodes.Add("U000", "Nerubian Assassin");
            heroCodes.Add("U00A", "Chaos Knight");
            heroCodes.Add("U00E", "Necrolyte");
            heroCodes.Add("UC91", "Slithereen Guard");
            heroCodes.Add("U00F", "Butcher");
            heroCodes.Add("U00C", "Lifestealer");
            heroCodes.Add("Otch", "Tauren");
            heroCodes.Add("N00R", "Pit Lord");
        }

        public static String GetHeroName(String heroCode)
        {
            Heroes h = new Heroes();
            return h.heroCodes[heroCode];
        }
    }
}